# Python输出技巧和f-string格式化字符串
import sys

# 基础语法
# print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=True)

# 参数说明：
# value1, value2, ...：要输出的值，可以是任意类型。
# sep：指定多个值之间的分隔符，默认为空格。
# end：指定输出结尾符，默认换行符。
# file：指定输出的目标，默认是标准输出sys.stdout。
# flush：指定是否立即刷新输出缓冲区，默认是True。

# 输出多个值
print(1, 2, 3)

# 输出多个值，指定分隔符
print(1, 2, 3, sep='-')
# 输出多个值，指定分隔符, 指定结尾符
print(1, 2, 3, sep='%', end='-\n')

name = 'Alice'
age = 25
# str.format()方法格式化输出
print("My name is {} and I am {} years old.".format(name, age))
# f-string格式化字符串
print(f"My name is {name} and I am {age} years old.")
# f-string格式化字符串，计算结果
print(f"计算结果：{1+2}")
# f-string格式化字符串，条件判断
score = 85
print(f"成绩：{'优秀' if score >= 90 else '良好' if score >= 60 else '及格'}")
# f-string格式化字符串，函数调用，输出字符串长度
print(f"长度：{len('hello world')}")

# 输出到文件
with open('D:\PyCharmProjects\python-demo\output.txt', 'w') as f:
    print('Hello, world!', file=f)   # 输出到文件output.txt

# 输出到文件，指定分隔符和结尾符
#with open('D:\PyCharmProjects\python-demo\output.txt', 'w') as f:
#    print('Hello', 'world!', sep='-', end='!', file=f)   # 输出到文件output.txt

# 输出到文件，不立即刷新输出缓冲区
#with open('D:\PyCharmProjects\python-demo\output.txt', 'w') as f:
#    print('Hello', 'world!', sep='-', end='!', file=f, flush=False)   # 输出到文件output.txt，不立即刷新输出缓冲区

# 输出到文件，指定输出目标为标准错误输出sys.stderr
print('Error message', file=sys.stderr)